/// -----------------------------------------------------------------------------------------------------------
/// Module      :  SalesForceWCFAdapterAsyncOutboundHandler.cs
/// Description :  This class implements an interface for asynchronously sending data.
/// -----------------------------------------------------------------------------------------------------------

#region Using Directives
using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel.Channels;

using Microsoft.ServiceModel.Channels.Common;
#endregion

namespace WCFLOBTalk.SalesForceWCF
{
    public class SalesForceWCFAdapterAsyncOutboundHandler : SalesForceWCFAdapterHandlerBase, IAsyncOutboundHandler
    {
        /// <summary>
        /// Initializes a new instance of the SalesForceWCFAdapterAsyncOutboundHandler class
        /// </summary>
        public SalesForceWCFAdapterAsyncOutboundHandler(SalesForceWCFAdapterConnection connection
            , MetadataLookup metadataLookup)
            : base(connection, metadataLookup)
        {
        }

        #region IAsyncOutboundHandler Members

        /// <summary>
        /// Sends the request message to the target system
        /// </summary>
        public Message Execute(Message message, TimeSpan timeout)
        {
            //
            //TODO: Implement BeginExecute
            //
            throw new NotImplementedException("The method or operation is not implemented.");
        }

        /// <summary>
        /// Asynchronously sends the request message to the target system
        /// </summary>
        public IAsyncResult BeginExecute(Message message, TimeSpan timeout, AsyncCallback callback, object state)
        {
            //
            //TODO: Implement BeginExecute
            //
            throw new NotImplementedException("The method or operation is not implemented.");
        }

        /// <summary>
        /// Ends the asynchronous send operation
        /// </summary>
        public Message EndExecute(IAsyncResult result)
        {
            //
            //TODO: Implement EndExecute
            //
            throw new NotImplementedException("The method or operation is not implemented.");
        }

        #endregion IAsyncOutboundHandler Members
    }
}
